<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>Keyframes with invalid keys</title>
  <style type="text/css" media="screen">
    @keyframes anim {
        50% { left: 3px; }

        /* Out-of-range percentage values */
        -10% { left: 100px; }
        -10%, from { left: 100px; }
        from, 110% { left: 100px; }
        110% { left: 100px; }

        /* Invalid keys (numbers and identifiers) */
        0, from { left: 100px; }
        fromto { left: 100px; }
        60%, unknown { left: 100px; }
        100 { left: 100px; }
    }
    #box {
        position: absolute;
        left: 3px;
        top: 100px;
        height: 100px;
        width: 100px;
        background-color: blue;
        animation-duration: 10s;
        animation-timing-function: linear;
        animation-name: anim;
    }

    </style>
    <script src="resources/animation-test-helpers.js" type="text/javascript" charset="utf-8"></script>
    <script type="text/javascript" charset="utf-8">

    const expectedValues = [
      // [time, element-id, property, expected-value, tolerance]
      [2, "box", "left", 3, 0],
      [8, "box", "left", 3, 0],
    ];

    runAnimationTest(expectedValues);

  </script>
</head>
<body>
This test performs an animation of the left property. It should always remain 3px, unless there are
errors during parsing, resulting in other values in keyframes with bad keys.
Four of the keyframes contain invalid keys, and should be discarded altogether
("If a keyframe selector specifies negative percentage values or values higher than 100%, then the keyframe will be ignored", see <a href="http://www.w3.org/TR/css3-animations/#keyframes">http://www.w3.org/TR/css3-animations/#keyframes</a>).
<div id="box">
</div>
<div id="result">
</div>
</body>
</html>
